import { 周知, 消息处理方案, myAddress as 本机地址 } from './udp-setup.js'
import { 试取消息头为字串, 试取字串, 字串化 } from './_util.js'
import 个人配置 from './初始化配置.js'

const { 用户名: 我的用户名 } = 个人配置
周知({ 意图: '广播:用户上线', 数据: { 用户名: 我的用户名, 地址: 本机地址 } })


消息处理方案.接受类型 = ['JSON']
消息处理方案(消息 => {
  const 支持类型 = 试取消息头为字串(消息, 消息处理方案.接受类型)
  if (!支持类型) return
  switch (支持类型) {
    case 'JSON': 消息 = JSON.parse(试取字串(消息)); break
  }
  const { 意图, 数据 } = 消息
  switch (意图.replace(/^.*:/, '')) {
    case '用户上线': const { 用户名 } = 数据; console.log(`@[${用户名}] 上线了`); break
    case '用户点击': const { 操作的用户, 元素选择器 } = 数据; console.log(`@[${操作的用户}] 点击了 \`${元素选择器}\``); break
  }
})


const 向前端发信 = await (await import('./http.js')).服务器发信
向前端发信(字串化({ 意图: '我的用户名', 数据: 我的用户名 }))